import instance from "@/http/index.js"


// 入库产品 参数：产品编号 产品名称 产品类别 产品单位 产品入库数量 产品单价  产品总价 入库操作人 入库备注 创建时间                                  
export const InProductAPI = (data) => {
  const { product_id, ...in_memo } = data
  return instance({
    url: `/pro/InProduct`,
    method: 'post',
    data: {
      product_id,
      ...in_memo
    }
  })
}

// 编辑产品信息 参数: 产品ID 产品名称 产品类别 产品单位 产品入库数量 产品单价  产品总价 入库备注 编辑时间
export const EditProductAPI = (data) => {
  const { id, ...in_memo } = data
  return instance({
    url: `/pro/EditProduct`,
    method: 'post',
    data: {
      id,
      ...in_memo
    }
  })
}

// 删除产品 参数: 产品ID
export const DeleteProductAPI = (id) => {
  return instance({
    url: `/pro/DeleteProduct`,
    method: 'delete',
    data: {
      id
    }
  })
}

// 获取产品列表 参数: 无
export const GetProductListAPI = () => {
  return instance({
    url: `/pro/GetProductList`,
    method: 'get'
  })
}

// 产品申请出库 参数: 产品ID 产品出库ID 产品出库状态 产品单价 产品出库数量 产品出库申请人 申请备注 申请时间
export const ApplyProductOutAPI = (data) => {
  const { id, ...apply_memo } = data
  return instance({
    url: `/pro/ApplyProductOut`,
    method: 'post',
    data: {
      id,
      ...apply_memo
    }
  })
}

// 获取正在申请中的列表
export const GetProductApplyitListAPI = () => {
  return instance({
    url: `/pro/GetProductApplyitList`,
    method: 'get'
  })
}

// 产品审核 参数： 产品ID , 产品出库ID, 产品出库状态, 产品审核备注, 产品出库价格, 产品申请人, 产品审核人, 产品入库数量, 产品出库数量, 产品单价, 产品申请出库时间, 产品审核决定
export const AuditProductAPI = (data) => {
  const { id, ...audit_memo } = data
  return instance({
    url: `/pro/AuditProduct`,
    method: 'post',
    data: {
      id,
      ...audit_memo
    }
  })
}

// 撤回入库申请 参数: 产品ID
export const WithdrawApplyProductAPI = (id) => {
  return instance({
    url: `/pro/WithdrawApplyProduct`,
    method: 'post',
    data: {
      id
    }
  })
}

// 通过入库编号对产品进行搜索 参数： 入库编号 : product_id
export const SearchProductByProductIdAPI = (product_id) => {
  return instance({
    url: `/pro/SearchProductByProductId`,
    method: 'post',
    data: {
      product_id
    }
  })
}

// 通过出库编号对产品进行搜索 参数： 出库编号 product_out_id
export const SearchProductByProductOutIdAPI = (product_out_id) => {
  return instance({
    url: `/pro/SearchProductByProductOutId`,
    method: 'post',
    data: {
      product_out_id
    }
  })
}

// 获取产品总数 参数: 无 
export const GetProductTotalAPI = () => {
  return instance({
    url: `/pro/GetProductTotal`,
    method: 'get'
  })
}

// 获取正在申请出库中的产品总数 参数: 无 
export const GetApplyProductTotalAPI = () => {
  return instance({
    url: `/pro/GetApplyProductTotal`,
    method: 'get'
  })
}


// 出库成功的产品列表 参数: 无
export const GetProductOutListAPI = () => {
  return instance({
    url: `/pro/GetProductOutList`,
    method: 'get'
  })
}

// 获取出库成功的产品总数 参数: 无
export const GetProductOutTotalAPI = () => {
  return instance({
    url: `/pro/GetProductOutTotal`,
    method: 'get'
  })
}

// 根据页码获取 所有产品 数据 参数: 页码: pager
export const GetProductListByPagerAPI = (pager) => {
  return instance({
    url: `/pro/GetProductListByPager`,
    method: 'post',
    data: {
      pager
    }
  })
}

// 根据页码获取 申请出库的产品 数据 参数: 页码: pager
export const GetApplyProductListByPagerAPI = (pager) => {
  return instance({
    url: `/pro/GetApplyProductListByPager`,
    method: 'post',
    data: {
      pager
    }
  })
}

// 根据页码获取 出库成功的产品 数据 参数: 页码 pager
export const GetProductOutListByPagerAPI = (pager) => {
  return instance({
    url: `/pro/GetProductOutListByPager`,
    method: 'post',
    data: {
      pager
    }
  })
}

// 获取产品类别 参数: 无
export const GetProductCateAPI = () => {
  return instance({
    url: `/pro/GetProductCate`,
    method: 'get'
  })
}